@@ -23,6 +23,7 @@ module Agents |
||
23 | 23 |
* `verbs` - Comma-separated list of http verbs your agent will accept. |
24 | 24 |
For example, "post,get" will enable POST and GET requests. Defaults |
25 | 25 |
to "post". |
26 |
+ * `response` - The response message to the request. Defaults to 'Event Created'. |
|
26 | 27 |
MD |
27 | 28 |
end |
28 | 29 |
|
@@ -36,7 +37,8 @@ module Agents |
||
36 | 37 |
def default_options |
37 | 38 |
{ "secret" => "supersecretstring", |
38 | 39 |
"expected_receive_period_in_days" => 1, |
39 |
- "payload_path" => "some_key" |
|
40 |
+ "payload_path" => "some_key", |
|
41 |
+ "response" => "Event Created" |
|
40 | 42 |
} |
41 | 43 |
end |
42 | 44 |
|
@@ -53,7 +55,7 @@ module Agents |
||
53 | 55 |
create_event(payload: payload) |
54 | 56 |
end |
55 | 57 |
|
56 |
- ['Event Created', 201] |
|
58 |
+ [response_message, 201] |
|
57 | 59 |
end |
58 | 60 |
|
59 | 61 |
def working? |
@@ -69,5 +71,9 @@ module Agents |
||
69 | 71 |
def payload_for(params) |
70 | 72 |
Utils.value_at(params, interpolated['payload_path']) || {} |
71 | 73 |
end |
74 |
+ |
|
75 |
+ def response_message |
|
76 |
+ options['response'] || 'Event Created' |
|
77 |
+ end |
|
72 | 78 |
end |
73 | 79 |
end |
@@ -38,6 +38,20 @@ describe Agents::WebhookAgent do |
||
38 | 38 |
expect(out).to eq(['Not Authorized', 401]) |
39 | 39 |
end |
40 | 40 |
|
41 |
+ it 'should respond with customized response message if configured with `response` option' do |
|
42 |
+ out = nil |
|
43 |
+ agent.options['response'] = 'That Worked' |
|
44 |
+ out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html") |
|
45 |
+ expect(out).to eq(['That Worked', 201]) |
|
46 |
+ end |
|
47 |
+ |
|
48 |
+ it 'should respond with `Event Created` if response option is nil' do |
|
49 |
+ out = nil |
|
50 |
+ agent.options['response'] = nil |
|
51 |
+ out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html") |
|
52 |
+ expect(out).to eq(['Event Created', 201]) |
|
53 |
+ end |
|
54 |
+ |
|
41 | 55 |
describe "receiving events" do |
42 | 56 |
|
43 | 57 |
context "default settings" do |